Technical Field
This disclosure relates generally to data processing systems in a data center operating environment.
Background of the Related Art
A well-known information technology (IT) delivery model is software-based cloud computing, by which shared resources, software and information are provided over the Internet to computers and other devices on-demand. Cloud computing significantly reduces IT costs and complexities while improving workload optimization and service delivery. With this approach, an application instance is hosted and made available from Internet-based resources that are accessible, e.g., through a conventional Web browser over HTTP. Cloud compute resources typically are housed in large server farms that run one or more network applications, typically using a virtualized architecture wherein applications run inside virtual servers, or so-called “virtual machines” (VMs), that are mapped onto physical servers in a data center facility.
The notion of “big data” refers to collections of data sets that are too large or complex for processing (e.g., analysis and visualization) using conventional database management tools or traditional data processing applications. While on-premises environments for processing such data sets exist, they are costly to provision and maintain, and thus many enterprises are looking to cloud-based or -supported analytic environments. To this end, it is also known to provide hardware-based high performance computing (HPC) environments that include graphics processing units (GPUs) to facilitate modeling and simulation. One such environment that is available commercially is IBM® SoftLayer®. Modern GPUs are very efficient at image processing, and their highly-parallel structure makes them more effective than general-purpose CPUs for algorithms where the processing of large blocks of visual data is done in parallel. In a hardware cloud environment, GPUs work in conjunction with a server's CPU to accelerate application and processing performance. In particular, CPU offloads compute-intensive portions of the application to the GPU, which processes large blocks of data at one time rather than sequentially, thereby boosting the overall performance in a server environment. GPUs are better for high performance computing than CPU's alone because of the thousands of small efficient cores designed to process information faster. Cloud servers with GPU cards easily handle compute-intensive tasks and deliver a smoother user experience when leveraged for virtualization. In IBM SoftLayer, customers can choose to provision different types of graphic cards that best meet the needs of their workloads.
A hardware cloud can outperform a software cloud, e.g., by providing zero downtime and fast hardware replacement, as well as customized and on-line hardware reconfiguration. While the above-described hardware cloud-based approaches provide significant advantages and facilitate cloud-based processing of analytic workloads, currently GPU-based resource provisioning in such clouds is done statically. Moreover, workloads in these environments are assigned to particular GPUs, leading to low GPU utilization when the requirements of the workload vary.
There remains a need to provide enhanced techniques to provision and scale GPUs dynamically for data analytic workloads in a cloud-based environment.